package com.dy.design_pattern_study.decoration_mode.dome.thirth.impl;

import com.dy.design_pattern_study.decoration_mode.dome.thirth.Person;

/**
 * @CreateBy zhangdingyi
 * @Date 2023-03-14
 * @Content 服饰类 这个是拓展类，主要实现子类的拓展 --后续子类仅需要继承该类便可以对Person类进行拓展
 *
 * 把类中的装饰功能从类中搬移去除，这样可以简化原有的类
 * 这样做更大的好处就是有效地把类的核心职责和装饰功能区分开了。
 * 而且可以去除相关类中重复的装饰逻辑。
 */
public class Finery extends Person {
    protected Person component;

    public Finery() {
    }

    //打扮 -这里的话接收传入的对象
    public void Decorate(Person component) {
        this.component = component;
    }

    //这里显示 传入的对象的show
    @Override
    public void Show() {
        if (component != null) {
            component.Show();
        }
    }
}
